package com.yupi.springbootinit.constant;

/**
 * 附件常量
 */
public interface AttachmentConstant {

    /**
     * 业务类型
     */
    interface BizType {
        String SALES_ORDER = "SALES_ORDER";
        String RND_ORDER = "RND_ORDER";
        String PROCESS_SHEET = "PROCESS_SHEET";
        String PRODUCTION_ORDER = "PRODUCTION_ORDER";
        String QUALITY_INSPECTION = "QUALITY_INSPECTION";
        String EQUIPMENT = "EQUIPMENT";
        String USER = "USER";
    }

    /**
     * 文件分类 - 完整的MES文件分类体系
     */
    interface FileCategory {
        // 销售订单相关
        String CONTRACT = "CONTRACT";           // 合同文件
        String CUSTOMER_DOC = "CUSTOMER_DOC";   // 客户资料
        String DRAWING = "DRAWING";             // 产品图纸
        String SPECIFICATION = "SPECIFICATION"; // 规格说明
        
        // 工艺单相关
        String PROCESS_DOC = "PROCESS_DOC";     // 工艺文档
        String TOOLING_DRAWING = "TOOLING_DRAWING"; // 工装图纸
        String INSPECTION_DOC = "INSPECTION_DOC";   // 检验文档
        String CHANGE_RECORD = "CHANGE_RECORD";     // 变更记录
        
        // 生产订单相关
        String PRODUCTION_PLAN = "PRODUCTION_PLAN"; // 生产计划
        String MATERIAL_LIST = "MATERIAL_LIST";     // 物料清单
        String PRODUCTION_RECORD = "PRODUCTION_RECORD"; // 生产记录
        String QUALITY_RECORD = "QUALITY_RECORD";   // 质量记录
        
        // 质量检验相关
        String QUALITY_DOC = "QUALITY_DOC";     // 质量文档
        String INSPECTION_REPORT = "INSPECTION_REPORT"; // 检验报告
        String CERTIFICATE = "CERTIFICATE";     // 证书文件
        String TEST_REPORT = "TEST_REPORT";     // 测试报告
        
        // 设备管理相关
        String EQUIPMENT_DOC = "EQUIPMENT_DOC"; // 设备文档
        String MAINTENANCE_RECORD = "MAINTENANCE_RECORD"; // 维护记录
        String FAULT_RECORD = "FAULT_RECORD";   // 故障记录
        
        // 通用分类
        String OTHER = "OTHER";                 // 其他文件
    }

    /**
     * 文件类型
     */
    interface FileType {
        String PDF = "pdf";
        String DOC = "doc";
        String DOCX = "docx";
        String XLS = "xls";
        String XLSX = "xlsx";
        String JPG = "jpg";
        String JPEG = "jpeg";
        String PNG = "png";
        String GIF = "gif";
        String TXT = "txt";
        String ZIP = "zip";
        String RAR = "rar";
    }

    /**
     * 允许上传的文件类型
     */
    String[] ALLOWED_FILE_TYPES = {
        FileType.PDF, FileType.DOC, FileType.DOCX,
        FileType.XLS, FileType.XLSX,
        FileType.JPG, FileType.JPEG, FileType.PNG, FileType.GIF,
        FileType.TXT, FileType.ZIP, FileType.RAR
    };

    /**
     * 最大文件大小（50MB）
     */
    long MAX_FILE_SIZE = 50 * 1024 * 1024;

    /**
     * 上传路径
     */
    String UPLOAD_PATH = "/uploads/";
}